package iot.wlink.network.devices.session;

import iot.wlink.network.devices.enums.DeviceTypeEm;
import iot.wlink.network.devices.enums.ProtocolsTypeEm;
import iot.wlink.network.devices.model.DeviceModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Map;

/**
 * @author : willian fu
 * @date : 2021/8/20
 * 设备Session，所有的连接的设备都持有一个，做集群的话考虑共享持久化
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DeviceSession {

    //设备模板ID
    private Long tid;

    //设备id
    private String uid;

    //设备密匙
    private String secret;

    //设备的所有用户与设备权限关系，共享设备处理
    private Map<Long, Boolean> scoped;

    //设备定义的模型
    private DeviceModel model;

    //设备类型枚举 直连设备、网关、网关子设备
    private DeviceTypeEm deviceType;

    //协议类型
    private ProtocolsTypeEm protocolsType;
}
